package com.hk.web.core.filter;

import com.hk.commons.utils.ResponseRenderUtils;
import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class RestFormAuthenticationFilter  extends FormAuthenticationFilter {

    /**
     *
     * 表示当访问拒绝时是否已经处理了;
     * 如果返回true表示需要继续处理;
     * 如果返回false表示该拦截器实例已经处理了，将直接返回即可。
     */
    @Override
    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
        if (isLoginRequest(request, response)) {
            if (isLoginSubmission(request, response)) {
                return executeLogin(request, response);
            } else {
                return true;
            }
        }
        //返回未登录
        ResponseRenderUtils.renderNoLogin(response);
        return false;
    }
}
